﻿namespace Union_Find
{
    class UFFactory
    {
        internal static IUF GetUF(UFData data, UFVersion version)
        {
            switch (version)
            {
                case UFVersion.V1:
                    return new UFV1(data.Length);
                case UFVersion.V2:
                    return new UFV2(data.Length);
                case UFVersion.V3:
                    return new UFV3(data.Length);
                case UFVersion.V4:
                    return new UFV4(data.Length);
                default:
                    return null;
            }
        }
    }
}
